﻿/// <reference path="jquery-1.4.2-vsdoc.js" />
/// <reference path="Extension.js" />

$.ajaxSetup({
    error: function (request) {
        if (request.responseText.indexOf('Acesso Negado') != -1) {
            messageDialog('Atenção!', 'Você não possui permissão para executar esta ação. <br />Contate o administrador do sistema!', 400);
        }
        else if (request.responseText.indexOf('Erro Interno') != -1) {
            messageDialog('Sessão expirada', 'Esta sessão espirou. O sistema será redirecionado para a tela de login.', null, function () {
                top.location = '/Login';
            });
        }
        else if (request.responseText.indexOf('Erro de Servidor') != -1) {
            messageDialog('Erro de servidor', request.responseText, 800, function () { progressDialog(false); });
        }
    }
});

// ============================
// Ações
// ============================

// Listar registros
function List(controller, inner) {
    loadOption('/' + controller + '/Index', inner);
}

// Exibir detalhes do registro
function Details(Controller, id, inner) {
    loadOption('/' + controller + '/Details&id=' + $('#' + id).val(), inner);
}

// Adicinar novo registro
function Create(controller, inner) {
    loadOption('/' + controller + '/Create', inner);
}

// Editar registro selecionado
function Edit(controller, id, inner) {
    loadOption('/' + controller + '/Edit/' + $('#' + id).val(), inner);
}

//============================
// Lookups
//============================

// Produtos
function tituloPROD(COD_PROD) {
    $('#DESC_PROD').val('');
    $('#DESC_UNID').val('');
    if (COD_PROD != '') {
        $.getJSON("/Produtos/ProdutoDetails", { ID_FNPR: 8007, COD_PROD: COD_PROD }, function (data) {
            if (data != null) {
                $("#COD_PROD").val(data.COD_PROD);
                $("#DESC_PROD").val(data.DESC_PROD);
                $("#DESC_UNID").val(data.COD_UNID);
            }
        });
    }
}
function tituloPRODEstoque(COD_PROD) {
    $('#DESC_PROD').val('');
    $('#DESC_UNID').val('');
    if (COD_PROD != '') {
        $.getJSON("/Produtos/ProdutoEstoqueDetails", { ID_FNPR: 8008, COD_PROD: COD_PROD }, function (data) {
            if (data != null) {
                $("#COD_PROD").val(data.COD_PROD);
                $("#DESC_PROD").val(data.DESC_PROD);
                $("#DESC_UNID").val(data.COD_UNID);
            }
        });
    }
}

// Lojas
function tituloLOJA(COD_LOJA) {
    $('#NOME_LOJA').val('');
    if (COD_LOJA != '') {
        $.getJSON('/Lojas/LojaDetails', { ID_FNPR: 8267, COD_LOJA: COD_LOJA }, function (data) {
            if (data == '') {
                messageDialog('Atenção!', 'Acesso não permitido ou loja não cadastrada.', null, function () {
                    $('#COD_LOJA').val('');    
                });
            }
            else {
                $('#NOME_LOJA').val(data);
            }
        });
    }
}

// Transportadores
function tituloTRAN(COD_TRAN) {
    $('#NOME_TRAN').val('');
    if (COD_TRAN != '') {
        $.getJSON("/Transportadores/TransportadorDetails", { ID_FNPR: 7736, COD_TRAN: COD_TRAN }, function (data) {            
                $("#NOME_TRAN").val(data);
        });
    }
}

// Vendedores
function tituloVEND(COD_VEND) {
    $('#NOME_VEND').val('');
    if (COD_VEND != '') {
        $.getJSON("/Vendedores/VendedorDetails", { ID_FNPR: 7687, COD_VEND: COD_VEND }, function (data) {
            $("#NOME_VEND").val(data);
        });
    }
}

// Clientes
function tituloCLI(COD_CLI) {
    $("#NOME_CLI").val('');
    if (COD_CLI != '') {
        $.getJSON("/Clientes/ClienteDetails", { ID_FNPR: 8774, COD_CLI: COD_CLI }, function (data) {
            $("#NOME_CLI").val(data);
        });
    }
}

// Operadores
function tituloOPER(ID_OPER) {
    $("#NOME_OPER").val('');
    if (ID_OPER != '') {
        $.getJSON("/Operadores/OperadorDetails", { ID_FNPR: 8149, ID_OPER: ID_OPER }, function (data) {
            $("#NOME_OPER").val(data);
        });
    }
}

// Entregadores
function tituloENTR(COD_ENTR) {
    $("#NOME_ENTR").val('');
    if (COD_ENTR != '') {
        $.getJSON("/Entregadores/EntregadorDetails", { ID_FNPR: 8539, COD_ENTR: COD_ENTR }, function (data) {
            $("#NOME_ENTR").val(data);
        });
    }
}

// Bandeiras
function tituloBAN(COD_BAN) {
    $("#NOME_BAN").val('');
    if (COD_BAN != '') {
        $.getJSON("/Bandeiras/BandeiraDetails", { ID_FNPR: 8812, COD_BAN: COD_BAN }, function (data) {
            $("#NOME_BAN").val(data);
        });
    }
}

// Bancos
function BancosLookup() {
    $.get('/ContasCorrentes/BancosLookup', { ID_FNPR: 8669, COD_BCO: $("#COD_BCO").val() }, function (a, b, c) {
        if (b != 'error') {
            $('<div id="__search">').appendTo('body');
            $("#__search").load('/ContasCorrentes/BancosLookup', { ID_FNPR: 8669, COD_BCO: $("#COD_BCO").val() }, function () {
                $(this).dialog({
                    closeOnEscape: true,
                    title: "Selecione o banco",
                    modal: true,
                    width: 'auto',
                    height: 'auto',
                    resizable: false,
                    open: function () {
                        loadInputs();
                        $("#tableBancos").jqGrid({
                            datatype: 'json',
                            url: '/ContasCorrentes/BancosLookupList',
                            mtype: 'GET',
                            colNames: ['Código', 'Nome'],
                            colModel: [
                                { name: 'COD_BCO', index: 'COD_BCO', width: 70, sortable: false, align: 'right' },
                                { name: 'NOME_BCO', index: 'NOME_BCO', width: 430, sortable: false, align: 'left' }
                            ],
                            caption: 'Resultado',
                            height: 'auto',
                            rowNum: 5,
                            sortname: 'COD_BCO',
                            sortorder: "asc",
                            loadui: 'disable',
                            gridview: true,
                            ondblClickRow: function (ids) {
                                if (ids != null) {
                                    var data = $("#tableBancos").getRowData(ids);
                                    $('#COD_BCO').val(data.COD_BCO);
                                    $('#NOME_BCO').val(data.NOME_BCO);
                                    $('#__search').dialog('destroy').remove();
                                }
                            },
                            postData: {
                                ID_FNPR: function () { return 8670; },
                                CODBCO: function () { return $('#CODBCO').val(); },
                                NOMEBCO: function () { return $('#NOMEBCO').val(); }
                            }
                        });
                    },
                    close: function () {
                        $('#__search').dialog('destroy').remove();
                    },
                    buttons: {
                        'Salvar': function () {
                            $.get('/ContasCorrentes/BancoInsertValidate', { ID_FNPR: 8668 }, function (a, b, c) {
                                if (b != 'error') {
                                    $.getJSON('/ContasCorrentes/BancoInsertValidate', $('#BancoEditForm').serialize() + '&ID_FNPR=8668', function (data) {
                                        if (data == true) {
                                            $('#COD_BCO').val($('#CODBCO').val());
                                            $('#NOME_BCO').val($('#NOMEBCO').val());
                                            $('#__search').dialog('destroy').remove();
                                        }
                                        else {
                                            listErros(data);
                                        }
                                    });
                                }
                            });
                        }
                    }
                });
            });
        }
    });
}
function tituloBCO(COD_BCO) {
    $("#NOME_BCO").val('');
    if (COD_BCO != '') {
        $.get('/ContasCorrentes/BancoDetails', { ID_FNPR: 8667, COD_BCO: COD_BCO }, function (a, b, c) {
            if (b != 'error') {
                $.getJSON("/ContasCorrentes/BancoDetails", { ID_FNPR: 8667, COD_BCO: COD_BCO }, function (data) {
                    $("#NOME_BCO").val(data);
                });
            }
        });
    }
}

// Agências
function AgenciasLookup() {
    $.get('/ContasCorrentes/AgenciasLookup', { ID_FNPR: 8665 }, function (a, b, c) {
        if (b != 'error') {
            if ($("#COD_BCO").val() != 0 && $("#COD_BCO").val() != '') {
                $('<div id="__search">').appendTo('body');
                $("#__search").load('/ContasCorrentes/AgenciasLookup', { ID_FNPR: 8665 }, function () {
                    $(this).dialog({
                        closeOnEscape: true,
                        title: "Selecione a agencia",
                        modal: true,
                        width: 'auto',
                        height: 'auto',
                        resizable: false,
                        open: function () {
                            $("#Banco").val($("#COD_BCO").val());
                            $("#NomeBanco").val($("#NOME_BCO").val());
                            loadInputs();
                            $("#tableAgencias").jqGrid({
                                datatype: 'json',
                                url: '/ContasCorrentes/AgenciasLookupList',
                                mtype: 'GET',
                                colNames: ['IDAgencia', 'CodBCO', 'nomeBCO', 'Agência', '', 'Nome', 'Observação agencia'],
                                colModel: [
                                    { name: 'ID_AGEN', index: 'ID_AGEN', width: 80, sortable: false, align: 'right', hidden: true },
                                    { name: 'COD_BCO', index: 'COD_BCO', width: 80, sortable: false, align: 'right', hidden: true },
                                    { name: 'NOME_BCO', index: 'NOME_BCO', width: 80, sortable: false, align: 'right', hidden: true },
                                    { name: 'NUMERO_AGEN', index: 'NUMERO_AGEN', width: 70, sortable: false, align: 'right' },
                                    { name: 'DIGITO_AGEN', index: 'DIGITO_AGEN', width: 30, sortable: false, align: 'center' },
                                    { name: 'NOME_AGEN', index: 'NOME_AGEN', width: 396, sortable: false, align: 'left' },
                                    { name: 'OBS_AGEN', index: 'OBS_AGEN', width: 380, sortable: false, align: 'left', hidden: true },
                                ],
                                caption: 'Agências',
                                altRows: false,
                                height: 'auto',
                                rowNum: 5,
                                sortname: 'COD_BCO',
                                sortorder: "asc",
                                loadui: 'disable',
                                gridview: true,
                                ondblClickRow: function (ids) {
                                    if (ids != null) {
                                        var data = $("#tableAgencias").getRowData(ids);
                                        $('#COD_BCO').val(data.COD_BCO);
                                        $('#NOME_BCO').val(data.NOME_BCO);
                                        $('#NUMERO_AGEN').val(data.NUMERO_AGEN);
                                        $('#DIGITO_AGEN').val(data.DIGITO_AGEN);
                                        $('#NOME_AGEN').val(data.NOME_AGEN);
                                        $('#ID_AGEN').val(data.ID_AGEN);
                                        $('#OBS_AGEN').val(data.OBS_AGEN);
                                        $('#__search').dialog('destroy').remove();
                                    }
                                },
                                postData: {
                                    ID_FNPR: function () { return 8666; },
                                    COD_BCO: function () { return $('#Banco').val(); },
                                    NUMEROAGEN: function () { return $('#NUMEROAGEN').val(); },
                                    DIGITOAGEN: function () { return $('#DIGITOAGEN').val(); },
                                    NOMEAGEN: function () { return $('#NOMEAGEN').val(); }
                                }
                            });
                        },
                        close: function () {
                            $('#__search').dialog("destroy").remove();
                        },
                        buttons: {
                            'Salvar': function () {
                                $.get('/ContasCorrentes/AgenciaInsertValidate', { ID_FNPR: 8663, COD_BCO: $("#COD_BCO").val() }, function (a, b, c) {
                                    if (b != 'error') {
                                        $.getJSON('/ContasCorrentes/AgenciaInsertValidate', $('#AgenciaEditForm').serialize() + '&ID_FNPR=8663', function (data) {
                                            if (data == true) {
                                                $('#NUMERO_AGEN').val($('#NUMEROAGEN').val());
                                                $('#DIGITO_AGEN').val($('#DIGITOAGEN').val());
                                                $('#NOME_AGEN').val($('#NOMEAGEN').val());
                                                $('#OBS_AGEN').val('').val($('#OBSAGEN').val());
                                                $('#ObsAgencia').attr('title', $('#OBSAGEN').val());
                                                $('#__search').dialog('destroy').remove();
                                            }
                                            else {
                                                listErros(data);
                                            }
                                        });
                                    }
                                });
                            }
                        }
                    });
                });
            }
            else {
                messageDialog("Atenção!", "É necessário selecionar um banco.");
            }
        }
    });
}

function tituloAGEN(NUMERO_AGEN, COD_BCO) {
    if (NUMERO_AGEN != '') {
        if (COD_BCO != '') {
            $.get('/ContasCorrentes/AgenciaSearch', { ID_FNPR: 8664, NUMERO_AGEN: NUMERO_AGEN, COD_BCO: COD_BCO }, function (a, b, c) {
                if (b != 'error') {
                    $.getJSON('/ContasCorrentes/AgenciaSearch', { ID_FNPR: 8664, NUMERO_AGEN: NUMERO_AGEN, COD_BCO: COD_BCO }, function (data) {
                        if (data.length > 0) {
                            $.map(data, function (row) {
                                $('#ID_AGEN').val(row.ID_AGEN);
                                $('#NOME_AGEN').val(row.NOME_AGEN);
                                $('#DIGITO_AGEN').val(row.DIGITO_AGEN);
                                ObsAgencia();
                            });
                        }
                        else {
                            messageDialog('Atenção!', 'Agência não cadastrada!', function () {
                                $('#NUMERO_AGEN').val('');
                            });
                        }
                    });

                }
            });
        }
        else if (NUMERO_AGEN != '') {
            messageDialog("Atenção!", "É necessário selecionar um banco", function () { $('#COD_BCO').focus(); });
        } 
    }
}

function tituloCID(ID_CID) {
    $("#NOME_CID").val('');
    if (ID_CID != '') {
        $.getJSON("/FonesDialUp/CidadeDetails", { ID_CID: ID_CID }, function (data) {
            $.map(data, function (row) {
                $("#ID_CID").val(row.ID_CID);
                $("#NOME_CID").val(row.NOME_CID);
            });
        });
    }
}

// Operadores Lojas
function tituloOperLOJA(COD_LOJA) {
    $("#NOME_LOJA").val('');
    if (COD_LOJA != '') {
        $.get("/Operadores/OperadorLojas", { ID_FNPR: 8111, COD_LOJA: COD_LOJA }, function (a, b, c) {
            if (b != 'error') {
                $.getJSON("/Operadores/OperadorLojas", { ID_FNPR: 8111, COD_LOJA: COD_LOJA }, function (data) {
                    if (data.length > 0) {
                        $.map(data, function (row) {
                            $("#NOME_LOJA").val(row.NOME_LOJA);
                        });
                        $("#COD_KIT").focus();
                    }
                    else {
                        messageDialog("Atenção", "Loja não cadastrada ou acesso não permitido", function () {
                            $("#COD_LOJA").val('');
                            $("#COD_LOJA").focus();
                        });
                    }
                });
            }
        });
    }
}

// Pessoas
function tituloPESSOA(ID_PESSOA) {
    $("#_NOME_PESSOA").val('');
    if (ID_PESSOA != '') {
        $.getJSON("/Pessoas/PessoaDetails", { ID_PESSOA: ID_PESSOA }, function (data) {
            $.map(data, function (row) {
                $("#_ID_PESSOA").val(row.ID_PESSOA);
                $("#_NOME_PESSOA").val(row.NOME_PESSOA);
            });
        });
    }
}

// Pessoas A
function tituloA(ID_PESSOA) {
    $("#NOME_PESSOAA").val('');
    if (ID_PESSOA != '') {
        $.getJSON("/Pessoas/PessoaDetails", { ID_PESSOA: ID_PESSOA }, function (data) {
            $.map(data, function (row) {
                $("#NOME_PESSOAA").val(row.NOME_PESSOA);
            });
        });
    }
}

// Pessoas B
function tituloB(ID_PESSOA) {
    $("#NOME_PESSOAB").val('');
    if (ID_PESSOA != '') {
        $.getJSON("/Pessoas/PessoaDetails", { ID_PESSOA: ID_PESSOA }, function (data) {
            $.map(data, function (row) {
                $("#NOME_PESSOAB").val(row.NOME_PESSOA);
            });
        });
    }
}

// Fornecedores
function tituloFORN(COD_FORN) {
    $("#NOME_FORN").val('');
    if (COD_FORN != '') {
        $.get("/Fornecedores/FornecedorDetails", { ID_FNPR: 8480, COD_FORN: COD_FORN }, function (a, b, c) {
            if (b != 'error') {
                $.getJSON("/Fornecedores/FornecedorDetails", { ID_FNPR: 8480, COD_FORN: COD_FORN }, function (data) {
                    $("#NOME_FORN").val(data);
                });
            }
        });
    }
}

//=============================
// Detalhamentos de Entidades 
//=============================
function CadastroPessoas(entidade) {
    if ($('input[name="TIPO_PESSOA"]').val() == 'F') {
        $('#VALOR_PSDC').setMask({ mask: '999.999.999-99' });
    }
    else {
        $('#VALOR_PSDC').setMask({ mask: '99.999.999/9999-99' });
    }
    TipoPessoaChange();
    $('#NASCIMENTO_PESSOA').calendar();
    $('#ANIVERSARIO_PESSOA').setMask({ mask: '39/19' });
    $("#NASCIMENTO_PESSOA").change(function () {
        $("#ANIVERSARIO_PESSOA").val($(this).val().substr(0, 5));
    });
    $('input[name="TIPO_PESSOA"]').change(function () {
        TipoPessoaChange($('input[name="TIPO_PESSOA"]:checked').val());
    });
    $('#VALOR_PSDC').blur(function () {
        var natureza =
            $('#TIPO_PESSOA').length > 0
                ? natureza = $('#TIPO_PESSOA').val()
                : $('#fisica').length > 0
                    ? $('#fisica').is(':checked')
                        ? 'F'
                        : 'J'
                    : 'F';
        if ($('#VALOR_PSDC').val() != '') {
            if (natureza == 'F') {
                $('#VALOR_PSDC').setMask({ mask: '999.999.999-99' });
            }
            else {
                $('#VALOR_PSDC').setMask({ mask: '99.999.999/9999-99' });
            }
            $.getJSON('/Pessoas/ValidaDocumento', { ID_FNPR: 8827, VALOR_PSDC: $('#VALOR_PSDC').val(), TIPO_PESSOA: natureza }, function (valido) {
                if (valido == true) {
                    $.getJSON('/Pessoas/PessoaSearch', { ID_FNPR: 8828, VALOR_PSDC: $('#VALOR_PSDC').val() }, function (data) {
                        if (data) {
                            $('#ID_PESSOA').val(data.ID_PESSOA);
                            $('#NOME_PESSOA').val(data.NOME_PESSOA);
                            $('#FANTASIA_PESSOA').val(data.FANTASIA_PESSOA);
                            $('#NASCIMENTO_PESSOA').val(data.NASCIMENTO_PESSOA);                            
                            $('#ANIVERSARIO_PESSOA').val(data.ANIVERSARIO_PESSOA);
                            $('#OBS_PESSOA').val(data.OBS_PESSOA);
                            $('#INATIVO_' + entidade).focus();
                        }
                        else {
                            $('#Foto').attr('src', '../../Content/Images/Pessoa.png');
                            $('#ID_PESSOA').val('');
                            $('#NOME_PESSOA').val('');
                            $('#FANTASIA_PESSOA').val('');
                            $('#ANIVERSARIO_PESSOA').val('');
                            $('#NASCIMENTO_PESSOA').val('');
                            $('#OBS_PESSOA').val('');
                        }
                    });
                }
                else {
                    messageDialog('Atenção!', 'Documento inválido!', null, function () { $('#VALOR_PSDC').val(''); });
                }
            });
        }
    });
}

function TipoPessoaChange(tipo) {
    var TIPO_PESSOA = tipo ? tipo : $('input[name="TIPO_PESSOA"]').val();
    switch (TIPO_PESSOA) {
        case 'F':
            $('.documento,.nome,.apelido,.nascimento').fadeOut('normal', function () {
                $('.documento').text('CPF:');
                $('.nome').text('Nome:');
                $('.apelido').text('Apelido:');
                $('.nascimento').text('Nascimento:');
                $('#VALOR_PSDC').setMask({ mask: '999.999.999-99' }).val('')
                $(this).fadeIn('normal');
            });
            break;
        case 'J':
            $('.documento,.nome,.apelido,.nascimento').fadeOut('normal', function () {
                $('.documento').text('CNPJ:');
                $('.nome').text('Razão Social:');
                $('.apelido').text('Fantasia:');
                $('.nascimento').text('Ini. Atividades:');
                $('#VALOR_PSDC').setMask({ mask: '99.999.999/9999-99' }).val('');
                $(this).fadeIn('normal');
            });
            break;
    }
}

function digitafacil(COD_PROD) {
    if (COD_PROD.indexOf("*") > -1) {
        var digitado = COD_PROD.split("*");
        $("#COD_PROD").val(digitado[1]);
        $("#QTDE_ITEN").val(digitado[0]);
        $("#QTDE_TRES").val(digitado[0]);
    }
}

// Redireciona da página de edição para a página de detalhamento do item
function redirectToDetails(Controller, Action, id, ID_FNPR) {
    window.location = '/' + Controller + '/' + Action + 'Details/?ID_FNPR=' + ID_FNPR + '&' + id + '=' + $('#' + id).val();
}

// Padrão UI aos botões
function ButtonTheme() {
    $('.onlytextcommand').button();

    $('.addcommand').button({ icons: { primary: 'ui-icon-plus'} });
    $('.bookmarkcommand').button({ icons: { primary: 'ui-icon-bookmark'} });
    $('.cancelcommand').button({ icons: { primary: 'ui-icon-cancel'} });
    $('.checkcommand').button({ icons: { primary: 'ui-icon-check'} });
    $('.closecommand').button({ icons: { primary: 'ui-icon-close'} });
    $('.detailscommand').button({ icons: { primary: 'ui-icon-arrowreturnthick-1-w'} });
    $('.diskcommand').button({ icons: { primary: 'ui-icon-disk'} });
    $('.documentcommand').button({ icons: { primary: 'ui-icon-document'} });
    $('.filecommand').button({ icons: { primary: 'ui-icon-folder-open'} });
    $('.helpcommand').button({ icons: { primary: 'ui-icon-help'} });
    $('.gearcommand').button({ icons: { primary: 'ui-icon-gear'} });
    $('.imagecommand').button({ icons: { primary: 'ui-icon-image'} });
    $('.listcommand').button({ icons: { primary: 'ui-icon-arrowreturnthick-1-w'} });
    $('.mailcommand').button({ icons: { primary: 'ui-icon-mail-closed'} });
    $('.minuscommand').button({ icons: { primary: 'ui-icon-squaresmall-minus'} });
    $('.newwincommand').button({ icons: { primary: 'ui-icon-newwin'} });
    $('.noticecommand').button({ icons: { primary: 'ui-icon-notice'} });
    $('.pencilcommand').button({ icons: { primary: 'ui-icon-pencil'} });
    $('.personcommand').button({ icons: { primary: 'ui-icon-person'} });
    $('.printcommand').button({ icons: { primary: 'ui-icon-print'} });
    $('.refreshcommand').button({ icons: { primary: 'ui-icon-refresh'} });
    $('.resizecommand').button({ icons: { primary: 'ui-icon-arrow-4'} });
    $('.searchcommand').button({ icons: { primary: 'ui-icon-search'} });
    $('.signalcommand').button({ icons: { primary: 'ui-icon-signal-diag'} });
    $('.trashcommand').button({ icons: { primary: 'ui-icon-trash'} });
    $('.videocommand').button({ icons: { primary: 'ui-icon-video'} });

    $('.sav').button({ text: false, icons: { primary: 'ui-icon-disk'} });
    $('.rfs').button({ text: false, icons: { primary: 'ui-icon-refresh'} });
    $('.add').button({ text: false, icons: { primary: 'ui-icon-plus'} });
    $('.edt').button({ text: false, icons: { primary: 'ui-icon-pencil'} });
    $('.can').button({ text: false, icons: { primary: 'ui-icon-cancel'} });
    $('.del').button({ text: false, icons: { primary: 'ui-icon-trash'} });
    $('.opn').button({ text: false, icons: { primary: 'ui-icon-folder-open'} });

    $('.sav, .rfs, .add, .edt, .can, .del, .opn').width(22).height(22).css({ margin: '4px 8px' });
}

// =============================
// Geral
// =============================

// Exibir a tabela adjacente e ocultar as demais
function MinMaxTables(tab) {
    var i = 0;
    if ($(".ui-jqgrid-bdiv:eq(" + tab + ")").css("display") === "none") {
        $(".ui-jqgrid-titlebar-close:eq(" + tab + ")").trigger("click");
    }
    while (i != 5) {
        if (i != tab) {
            if ($(".ui-jqgrid-bdiv:eq(" + i + ")").css("display") == "block") {
                $(".ui-jqgrid-titlebar-close:eq(" + i + ")").trigger("click");
            }
        }
        i++;
    }
}

// Checa a loja informada pelo usuário e valida a permissão
function CheckLoja(COD_LOJA) {
    if (COD_LOJA != '') {
        $.getJSON('/Lojas/CheckLoja', { ID_FNPR: 8264, COD_LOJA: COD_LOJA }, function (data) {
            if (data == false) {
                messageDialog('Atenção!', 'Loja inexistente ou acesso negado', 300, function () {
                    $('#NOME_LOJA').val('');
                    $('#COD_LOJA').val('').focus();
                });
            }
            else {
                tituloLOJA(COD_LOJA);
            }
        });
    }
    else {
        $('#NOME_LOJA').val('');
    }
}

function TiposCondicoesChange(COD_TPCD, FirstTime) {
    if (!FirstTime) {
        $('#TAXA_CDPG').val('');
        $('#TAC_CDPG').val('');
        $('#COEF_CDPG').val('');
        $('#PARCELAS_CDPG').val('');
        $('#DIA_CDPG').val('');
    }
    if (COD_TPCD == 'A') {
        // Tipo comercial
        $('#TAXA_CDPG').removeAttr('disabled');
        $('#TAC_CDPG').attr('disabled', true);
        $('#COEF_CDPG').attr('disabled', true);
        $('#PARCELAS_CDPG').attr('disabled', true);
        $('#DIA_CDPG').attr('disabled', true);
    }
    else {
        // Tipo crediário
        $('#TAXA_CDPG').attr('disabled', true);
        $('#TAC_CDPG').removeAttr('disabled');
        $('#COEF_CDPG').removeAttr('disabled');
        $('#PARCELAS_CDPG').removeAttr('disabled');
        $('#DIA_CDPG').removeAttr('disabled');
    }
}

function multiSelect(obj) {
    obj.multiSelect({
        checkAllText: 'todos',
        unCheckAllText: 'todos',
        noneSelectedText: '[selecione]',
        selectedText: function (numChecked, numTotal, checkedInputs) {
            if (numChecked == 1) {
                return checkedInputs[0].nextSibling.nodeValue;
            }
            else {
                return numChecked + " selecionados";
            }
        }
    });
}

function contentHeight() {
    var ribbon = $('#ribbon').height() == null ? 31 : $('#ribbon').height();
    $('.divcontent').css({ top: (92 + ribbon) + 'px', bottom: '28px' });
}

function loadAutoComplete() {
    fieldComplete('NOME_VEND', 'Vendedores', 'COD_VEND');
    fieldComplete('NOME_CLI', 'Clientes', 'COD_CLI');
    fieldComplete('NOME_TRAN', 'Transportadores', 'COD_TRAN');
    fieldComplete('NOME_VEND', 'Vendedores', 'COD_VEND');
    fieldComplete('NOME_OPER', 'Operadores', 'ID_OPER');
}

// Padrão UI aos botões de upload/download
function mouseState(obj) {
    $(obj).mouseover(function () {
        $('.imagecommand, .personcommand, .videocommand').trigger('mouseover');
    }).mouseout(function () {
        $('.imagecommand, .personcommand, .videocommand').trigger('mouseout');
    }).mousedown(function () {
        $('.imagecommand, .personcommand, .videocommand').trigger('mousedown');
    }).mouseup(function () {
        $('.imagecommand, .personcommand, .videocommand').trigger('mouseup');
    });
}

function mouseAction(inputA, inputB) {
    inputA.mouseover(function () {
        $('#' + inputB).trigger('mouseover');
    }).mouseout(function () {
        $('#' + inputB).trigger('mouseout');
    }).mousedown(function () {
        $('#' + inputB).trigger('mousedown');
    }).mouseup(function () {
        $('#' + inputB).trigger('mouseup');
    });
}

function loadFoto() {
    $('#FOTO_FILE').uploadify({
        uploader: '../../Scripts/plugins/jquery-upload/uploadify.swf',
        script: '/Default/LoadFoto',
        cancelImg: '../../Scripts/plugins/jquery-upload/cancel.png',
        fileDesc: 'Arquivos de imagem',
        hideButton: true,
        wmode: 'transparent',
        fileExt: '*.png;*.bmp;*.jpg;*.tif',
        queueID: 'fileQueue',
        width: 62,
        sizeLimit: 204800,
        height: 28,
        buttonimg: ' ',
        auto: true,
        scriptData: {
            ID_FNPR: 8847,
            ASPSESSID: "<%= Session.SessionID %>",
            AUTHID: "<%= Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value %>"
        },
        onSelect: function (event, queueID, fileObj) {
            progressDialog(true);
            $('#FOTO_FILE').uploadifySettings('scriptData', {
                src: $('#NomeFoto').val(),
                NomeFoto: queueID + fileObj.type
            });
            $('#NomeFoto').val(queueID + fileObj.type)
        },
        onComplete: function (event, queueID, fileObj) {
            $('#Foto').removeAttr('src').attr('src', '../../TempImage/' + queueID + fileObj.type);
            progressDialog(false);
        }
    });
    mouseState($(".buttonFoto .filespan"));
}

function loadFile(obj, objFileName) {
    obj.uploadify({
        uploader: '../../Scripts/plugins/jquery-upload/uploadify.swf',
        script: '/Default/LoadFoto',
        cancelImg: '../../Scripts/plugins/jquery-upload/cancel.png',        
        hideButton: true,
        wmode: 'transparent',
        queueID: 'fileQueue',
        width: 26,
        height: 26,
        sizeLimit: 204800,
        buttonimg: ' ',
        auto: true,
        scriptData: {
            ID_FNPR: 8847,
            ASPSESSID: "<%= Session.SessionID %>",
            AUTHID: "<%= Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value %>"
        },
        onSelect: function (event, queueID, fileObj) {
            obj.uploadifySettings('scriptData', {
                src: objFileName.val(),
                NomeFoto: queueID + fileObj.type
            });
            objFileName.val(queueID + fileObj.type)
        }
    });
    mouseState($('.buttonFile span'));
}

function clearFoto(image) {
    progressDialog(true);
    $.getJSON('/Default/ClearFoto', { ID_FNPR: 8848 }, function (data) {
        $('#Foto').attr('src', '../../Content/Images/' + image + '.png');
        progressDialog(false);
    });
}

function dialogSubmit() {
    $('.ui-dialog').find('input').keypress(function (e) {
        if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
            $(this).parent().parent().parent().parent().find('.ui-dialog-buttonpane').find('button:first').click();
            return false;
        }
    });
}

$(document).ready(function () {
    $(".hidden").hide();

    $('.fg-button').hover(
        function () { $(this).removeClass('ui-state-default').addClass('ui-state-focus'); },
        function () { $(this).removeClass('ui-state-focus').addClass('ui-state-default'); }
    );
    ButtonTheme();
    loadInputs();
    Periodos('#Periodo', '#DATASIS_INI', '#DATASIS_FIN');
    loadAutoComplete();

    if ($('.resizable').length > 0) {
        $('.resizable').resizable({
            alsoResize: '.also',
            minWidth: 580,
            minHeight: $('.resizable').height(),
            resize: function () {
                if ($('.Accordion').length > 0) {
                    $('.Accordion').accordion('resize');
                }
            }
        });
    }

    $('#VALOR_PSDC').change(function () {
        $.getJSON('/Pessoas/ValidaDocumento', { VALOR_PSDC: $('#VALOR_PSDC').val(), TIPO_PESSOA: $("input[name='TIPO_PESSOA']:checked").val() }, function (valido) {
            if (valido == false) {
                messageDialog('Atenção!', 'Documento inválido!', null, function () { $('#VALOR_PSDC').val(''); });
            }
            else {
                progressDialog(true);
                $.getJSON('/Pessoas/PessoaSearch', { VALOR_PSDC: $('#VALOR_PSDC').val() }, function (data) {
                    progressDialog(false);
                    if (data) {
                        $('#ID_PESSOA').val(data.ID_PESSOA);
                        $('#NOME_PESSOA').val(data.NOME_PESSOA);
                        $('#FANTASIA_PESSOA').val(data.FANTASIA_PESSOA);
                        $('#NASCIMENTO_PESSOA').val(data.NASCIMENTO_PESSOA);
                        $('#ANIVERSARIO_PESSOA').val(data.ANIVERSARIO_PESSOA);
                        $('#OBS_PESSOA').val(data.OBS_PESSOA);
                    }
                    else {
                        $('#ID_PESSOA,#NOME_PESSOA,#FANTASIA_PESSOA,#ANIVERSARIO_PESSOA,#NASCIMENTO_PESSOA,#OBS_PESSOA').val('');
                    }
                });
            }
        });
    });

    $("input[name='TIPO_PESSOA']").change(function () {
        TipoPessoaChange($("input[name='TIPO_PESSOA']:checked").val());
    });

    if ($("#FOTO_FILE").length > 0) {
        loadFoto();
    }

    // Define permissões de acesso as lojas ao operador logado
    if ($("label.lookuploja").length > 0) {
        progressDialog(true);
        $.getJSON("/Operadores/LojasCount", null, function (data) {
            progressDialog(false);
            if (data.lojas == 1) {
                $('#NOME_LOJA').val(data.loja.NOME_LOJA).attr('readonly', 'readonly').focusNext();
                $('label.lookuploja img').attr('src', '../../Content/Images/search_off.png').attr('title', 'não disponível').removeAttr('onclick', progressDialog(false));
                $('#COD_LOJA').removeClass('setfocus').val(data.loja.COD_LOJA).removeAttr('onblur').attr('readonly', 'readonly').trigger('change');
            }
            else if (data == 0) {
                messageDialog("Atenção", "Este usuário não possui lojas cadastradas.<br />Contate o administrador do sistema.", 400, function () {
                    loadOption('/Default/Main', true);
                });
            }
        });
    }

    $('.pagina').fadeIn('slow');
});